Client Cache Management in a Distributed Object Database Client Cache Management in a Distributed Object Database
نویسندگان
چکیده
A distributed object database stores objects persistently at servers. Applications run on client machines, fetching objects into a client-side cache of objects. If fetching and cache management are done in terms of objects, rather than xed-size units such as pages, three problems must be solved: 1. which objects to prefetch, 2. how to translate, or swizzle, inter-object references when they are fetched from server to client, and 3. which objects to displace from the cache. This thesis reports the results of experiments to test various solutions to these problems. The experiments use the runtime system of the Thor distributed object database and benchmarks adapted from the Wisconsin OO7 benchmark suite. The thesis establishes the following points: 1. For plausible workloads involving some amount of object fetching, the prefetching policy is likely to have more impact on performance than swizzling policy or cache management policy. 2. A simple breadthrst prefetcher can have performance that is at worst roughly comparable to an approximation of a paged system, and is sometimes much better, completing some computations 10 times faster. 3. The client cache is managed by a combination of two simple schemes, one based on garbage collection and one based on shrinking some objects to surrogates, where a surrogate is a small data structure containing the object's name at the server. Garbage collection and shrinking have complementary strengths. Experiments show that cache management using both techniques performs much better than cache management using only one technique. A system with both garbage collection and shrinking can complete a benchmark traversal using roughly an order of magnitude less cache storage than a system using only garbage collection. 4. For minimizing elapsed time on the benchmarks used, managing the client cache with a true LRU policy achieves close to the performance of an unattainably good minimal-fetching policy. The other policies tested all do worse than LRU, and there is little meaningful di erence among them on the benchmarks used. 5. Swizzling at the granularity of individual references (so-called edge marking) has performance that is roughly comparable to the performance of swizzling at the granularity of objects (socalled node marking). Accordingly, a choice between these swizzling mechanisms should be made on the basis of factors other than performance, such as implementation complexity. Thesis Supervisor: Barbara Liskov Title: NEC Professor of Software Science and Engineering
منابع مشابه
Client cache management in a distributed object database
A distributed object database stores objects persistently at servers. Applications run on client machines, fetching objects into a client-side cache of objects. If fetching and cache management are done in terms of objects, rather than fixed-size units such as pages, three problems must be solved: 1. which objects to prefetch, 2. how to translate, or swizzle, inter-object references when they a...
متن کاملEvaluating Cache Coherence in the DSMIO System
There has been a significant amount of research on object-based database management systems (ODBMS). In contrast to traditional relational systems, ODBMS use the same data model for the clients and the server. Thus, parallel ODBMS typically adopt a data-shipping architecture, which allows data request processing to be performed at the clients. Although such a strategy can improve performance by...
متن کاملAvaliação de Sistemas de Coerência de Cache em Arquiteturas ODBMs Cliente-Servidor
In this paper, we evaluate the performance of DSMIO cache-coherence algorithm implemented on both parallel servers architecture object-based database management system (ODBMS), and traditional client-server architecture ODBMS. The distinguishing feature of DSMIO is its use of the lazy release memory consistency model and multiple-writer protocol to reduce both the number and size of coherence m...
متن کاملPreventing Cache Overflows in an Object-Oriented Database Management System with the Object-Descriptor Architecture
In an object-oriented database management system built in the object-descriptor architecture, there is a concern about cached object-descriptors (CODs) filling up the client object cache space and, consequently, failing a database transaction. This phenomenon occurs especially during the data loading which keeps creating new objects in the object cache space. In this paper, we reexamine the str...
متن کاملSeparating indexes from data: a distributed scheme for secure database outsourcing
Database outsourcing is an idea to eliminate the burden of database management from organizations. Since data is a critical asset of organizations, preserving its privacy from outside adversary and untrusted server should be warranted. In this paper, we present a distributed scheme based on storing shares of data on different servers and separating indexes from data on a distinct server. Shamir...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995